package org.dei.perla.sys.console;

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;

import org.dei.perla.sys.console.messages.*;
import org.dei.perla.sys.console.*;
import org.dei.perla.sys.console.messages.ConsoleMessage.PerLaRequest;
import org.dei.perla.sys.console.messages.TestQueryMessage.TestQueryRequest;



/**
 * Classe astratta che da estendere
 * @author Diego
 *
 */
public class ConsoleClient {

	Socket sd = null;
	
	/**
	 * Metodo per connettersi al server, specificando indirizzo e port
	 */
	public Socket connectTo(String parHost, int parPort) {
		
		try {
			System.out.println("CLIENT: connecting....\n");
			sd = new Socket(InetAddress.getByName(parHost),parPort);
			
		} catch (Exception e) {
			System.out.println("CLIENT: error during connection...\n");
			return null;
		}
		System.out.println("CLIENT: connected!\n");
		return sd;
	}
	
	
	/**
	 * Disconnette dal server a cui ci si è connessi attraverso connectTo()
	 * @return TRUE se la disconnessione è andata a buon fine, FALSE altrimenti
	 */
	public boolean disconnect() {		
		try {			
			this.sd.close();
			return true;
		} catch (IOException e) {
			System.out.println("Errore nella disconnessione");
			return false;
		}
		
	}
	
	
	
}
